This invention relates to a dividing circuit suitable for ICs (integrated circuits), and particularly to a parallel divider of a non-recovery type which can obtain plural bits simultaneously or to a structure of ICs for numerical operation using such a divider.
Digital operations can be processed in increasingly shorter time in recent years, and the speed of multiplication has remarkably increased as parallel operations are employed frequently. Dividing operations usually require plural steps. Demands are mounting for faster dividing operations in such fields as computer graphics and high speed signal processing.
The prior art digital dividing method is basically similar to a manual calculation wherein a divisor x divides a dividend y (x and y are positive integers) having the maximum of n bits to obtain a quotient y/x by processing it from the higher order position. The procedure is illustrated in FIG. 1 where a dividing operation is completed by repeating the loop for n times. This method is widely known, but is defective in that it takes a long time (or a large number of steps), and there have been proposed various and many improvements to overcome this defect. FIG. 2 shows one example of such an improvement which is called a non-recovery type method. This is because even if the result of a division becomes negative, it continues operation without recovery to positive. This method is popularly used in computers Although the non-recovery type method has greatly improved the speed over the basic method (referred to as the recovery method herein for comparison) or reduced the number of steps, the speed thereof has not yet quite met the demands.
When a higher speed is required in operation, an approximation which is represented by the Newton Raphson formula is usually used. For instance, a reciprocal number 1/x of a number x can be obtained as below if it can be approximated by Z.sub.i. EQU x.times.Z.sub.i .fwdarw.1 (1)
In other words, an error .epsilon..sub.i an be obtained by the following expression. EQU 1-x.times.Z.sub.i =.epsilon..sub.i ( 2)
With the error .epsilon..sub.i, the approximate value Z.sub.i is modified to obtain the next approximate value Z.sub.i+1. By repeating the operation to make .epsilon. less than a given value, Z at the time can be used as 1/x and y/x can be calculated as y.times.(1/x). Although the method requires multiplication, since multiplication can be processed at a high speed with present hardware technology, the operation as a whole can be conducted at a higher speed and performance. Yet, the Newton Raphson formula still needs a program of plural steps (a plural number of clocks when an exclusive hardware is used), the time required for division is still longer than that for multiplication.